﻿using System;
using System.Security.Principal;
using System.ServiceModel;

using SBPweb.PROvibe.Shared.Library.Actors;
using SBPweb.PROvibe.Shared.Library.Components;

namespace SBPweb.PROvibe.Server.Modules.UserProvider.Contracts
{

    [ServiceContract(Namespace = Constants.Services.UserProviderNamespace)]
    public interface IUserProviderService : IService
    {

        #region Operations

        [OperationContract]
        User GetCurrentUser();

        [OperationContract]
        bool IsMemberOfRole(User user, string roleName);

        #endregion

        #region Methods

        User GetUser(IIdentity identity);

        #endregion

    }

}